.santa_intro_container {
  width: 100%;
  /* Set the z-index to a value greater than -1 */
  z-index: 2;
  position: relative;
}

.santa_intro_container_main {
  width: 100%;

  background-repeat: repeat;
  /* position: absolute; */
  padding-top: 80px;
  display: flex;

  flex-direction: column;
  align-items: center;
  justify-self: center;
  overflow: hidden;
}

.santa_intro_container_main_main_container {
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding-inline: 5%;
  max-width: 1440px;
  position: relative;
}

.santa_container {
  width: 100%;
  min-height: 100%;
  position: relative;
  overflow: hidden;
  background-image: url(../images/2025images/paper_bg.jpg);
  background-position-y: bottom;
}

.title_container {
  width: fit-content;
  text-align: center;
  position: relative;
  margin-top: 55px;
  margin-bottom: 60px;
}

.title_container .title_img {
  max-width: 800px;
  width: 80vw;
}

.title_container h3 {
  color: #f3ecdf;
  text-align: center;
  font-family: "Autour One";
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  position: absolute;
  padding: 16px 24px;
  background-image: url(../images/2025images/title_bg_gold.png);
  background-size: cover;
  bottom: -6%;
  right: 7%;
  transform: rotate(4deg);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-transform: uppercase;
}

.deco_stamp {
  position: absolute;
  width: 18%;
  max-width: 150px;
  top: 20%;
  left: -10%;
  transform-origin: center;
  animation: rotateAnimation 10s linear infinite;
}

@keyframes rotateAnimation {
  0% {
    /* Use 'transform' to apply the rotate() function */
    rotate: 0deg;
  }

  100% {
    /* Use 'transform' to apply the rotate() function */
    rotate: 360deg;
  }
}

.santa_intro_container_main_title_ticket h3 {
  color: #00432f;
  text-align: center;

  /* EN/Title */
  font-family: "Autour One";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 28.8px */
  margin: 16px auto;
}

.santa_intro_container_main_title_ticket {
  margin: 96px 0px 36px;
  position: relative;
  min-width: 300px;
  text-align: center;
}

.icon_date_white {
  width: 24px;
  aspect-ratio: 1 / 1;
  background-image: url(../images/2025images/icn_date_white.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.icon_time_white {
  width: 24px;
  aspect-ratio: 1 / 1;
  background-image: url(../images/2025images/icn_time_white.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.icon_location_white {
  width: 24px;
  aspect-ratio: 1 / 1;
  background-image: url(../images/2025images/icn_location_white.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.icon_fee_white {
  width: 24px;
  aspect-ratio: 1 / 1;
  background-image: url(../images/2025images/icn_fee_white.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.santa_intro_container_main_table {
  border: 1px solid transparent;
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
  background-color: transparent;
  /* overflow: hidden; */
  border-collapse: separate;
  position: relative;
  /* margin-bottom: 95px; */
  max-width: 700px;
  font-size: 14px;
  margin-bottom: 36px;
  margin-left: -120px;
}

.workshop .santa_intro_container_main_table {
  max-width: 632px;
  width: 100%;
}

.columnHead {
  /* padding-inline: 24px; */

  background-size: 100% auto;
  width: 114px;
  height: 114px;
  align-content: end;
  background-color: #113121;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.columnHeadContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-bottom: 0px;
  width: 100%;
  height: 100%;
  padding: 24px 0px;
}

.santa_intro_container_main_table td {
  line-height: 140%;
  color: #242711;
}

.columnHead {
  align-content: center;
}

.columnHeadContainer span {
  color: #cec2ab;
  text-align: center;

  /* EN/Body - Bold */
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 22.4px */
}

.divisonLine_green {
  max-width: 427px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .divisonLine_green {
  width: 100%;
}
.santa .divisonLine_green,
.merchandise .divisonLine_green,
.workshop .divisonLine_green {
  width: 100%;
}
.santa_intro_container_main_table td:nth-child(2) {
  padding: 10px 32px;
  text-align: center;
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.santa_intro_container_main_table td:nth-child(2)::after {
  content: "";
  display: block;
  height: 100%;
  width: 4px;
  background-image: url(../images/2025images/deco_underline_cream_vertical.svg);
  position: absolute;
  right: 0;
  top: 0;
  background-position: bottom;
}

.santa_intro_container_main_table .lastColumn::after {
  content: none !important;
}

.workshop .santa_intro_container_main_table td:nth-child(2)::after,
.workshop .santa_intro_container_main_table tr .lastRow::after {
  content: none;
}

.workshop .santa_intro_container_main_table td.workshop_firstRow::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-image: url(../images/2025images/deco_underline_cream.svg);
  position: absolute;
  left: 5px;
  top: 0;
  background-position: bottom;
}

.santa_intro_container_main_table tr td:nth-child(2)::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-image: url(../images/2025images/deco_underline_cream.svg);
  position: absolute;
  left: 5px;
  bottom: 0;
  background-position: bottom;
}

.santa_intro_container_main_table td:nth-child(3) {
  padding-inline: 29px;
  text-align: center;
  position: relative;
  align-content: center;
  display: table-cell;
  vertical-align: middle;
}

.santa_intro_container_main_table td:nth-child(3)::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-image: url(../images/2025images/deco_underline_cream.svg);
  position: absolute;
  left: 5px;
  bottom: 0;
  background-position: bottom;
}

.santa_intro_container_main_table tr .lastRow::after {
  content: none;
}

.peakSpan span {
  display: block;
  width: fit-content;
  padding: 8px 24px;
  margin: 0 auto;
  background-image: url(../images/2025images/title_bg_white_small.png);
  background-repeat: no-repeat;
  background-position: left top;
  margin-top: 10px;
}

.peakSpan span:nth-child(2) {
  background-image: unset;
  padding: 0px;
}

.santa_intro_container_main_table tr .firstRow {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 0px 32px 10px;
}

.santa_intro_container_main_table tr .firstRow2 {
  padding: 0px 20px 10px;
  vertical-align: top;
  align-content: baseline;
  position: relative;
}

.firstRow2 img {
  width: 100%;
  height: 4px;
  object-fit: cover;
  position: absolute;
  left: 0px;
}

.santa_intro_container_main_bottom_deco {
  width: 100vw;
  aspect-ratio: 1440 / 500;
  position: relative;
  bottom: 0px;
  z-index: 2;
  pointer-events: none;
  /* overflow: hidden; */
  /* min-height: 150px; */
}

.santa_intro_container_main_bottom_deco div {
  position: absolute;
}

.ticketArrange {
  color: #29110b;
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;

  text-align: center;
  max-width: 700px;
  margin-bottom: 36px;
  width: 80%;
}

.santa_remark {
  max-width: 700px;
  width: 80%;
  margin-bottom: 4px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_remark {
  margin-bottom: 36px;
}

.workshop_comingsoon .santa_intro_container_main_main_container .btnWrapper {
  margin-top: 20px;
}

.ticketArrange .bold {
  font-weight: 700;
}

.ticketArrange a {
  color: #29110b;
  text-decoration: underline;
  word-break: break-word;
}

.deco_stamp_float {
  position: absolute;
  height: auto;
}

#stamp_bear,
#stamp_tree {
  width: 20%;
  left: -5%;
  top: 54%;
  max-width: 284px;
  animation: float 3s ease-in-out infinite;
}

#stamp_bear {
  top: 35%;
}

#stamp_deco_sticker_tower {
  width: 30%;
  left: -11%;
  top: 47%;
  max-width: 284px;
  animation: float 3s ease-in-out infinite;
}

#stamp_sticker_green {
  width: 20%;
  right: 0%;
  top: 18%;
  max-width: 284px;
  animation: float2 4s ease-in-out infinite;
}

#stamp_clock_red {
  width: 9%;
  max-width: 150px;
  left: 0%;
  top: 45%;
  animation: float2 4s ease-in-out infinite;
  animation-delay: 1s;
}

#stamp_tree {
  top: 30%;
}

#stamp_clock {
  width: 10%;
  right: 0%;
  top: 22%;
  max-width: 156px;
  animation: float2 4s ease-in-out infinite;
}

#stamp_pudding {
  width: 9%;
  max-width: 150px;
  right: 0%;
  top: 14%;
  animation: float2 4s ease-in-out infinite;
  animation-delay: 1s;
}

#stamp_ticket {
  width: 8%;
  max-width: 125px;
  left: 4%;
  top: 39%;
  animation: float2 5s ease-in-out infinite;
  animation-delay: 1s;
}

#stamp_express {
  width: 30%;
  right: -15%;
  top: 26%;
  max-width: 388px;
  animation: float 5s ease-in-out infinite;
}

#stamp_express_red {
  width: 15%;
  max-width: 150px;
  left: 7%;
  top: 51%;
  animation: float2 4s ease-in-out infinite;
  animation-delay: 1s;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10%);
  }

  100% {
    transform: translateY(0px);
  }
}

@keyframes float2 {
  0% {
    transform: translate(0px, 0px);
  }

  50% {
    transform: translate(20%, -20%);
  }

  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes float4 {
  0% {
    transform: translate(0px, 0px);
  }

  50% {
    transform: translate(-10%, -10%);
  }

  100% {
    transform: translate(0px, 0px);
  }
}

@keyframes buttonPop {
  0% {
    transform: scale(1) translateZ(0px);
  }

  50% {
    transform: scale(0.93) translateZ(0px);
  }

  100% {
    transform: scale(0.95) translateZ(0px);
  }
}

.santa .btnWrapper,
.workshop .btnWrapper {
  max-width: 430px;
}

/* workshop */

.workshop_intro_container_main_workshopList {
  list-style: none;
  width: 100%;
  display: flex;
  flex-direction: row;
  /* align-items: center; */
  gap: 5%;
  margin-left: 0px;
  align-items: stretch;
  margin-bottom: 56px;
}

.workshop_intro_container_main_workshopList_item {
  width: 30%;
  min-width: 250px;
  /* aspect-ratio: 348 / 362; */
  margin-left: 0px;
  position: relative;
  /* padding: 20px; */
  border: 2px solid transparent;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  flex: 1;
  transition: 0.5s ease-in-out;
}

.workshop_intro_container_main_workshopList_item:hover {
  scale: 1.05;
}

.workshop_intro_container_main_workshopList_item_img {
  width: 100%;
  border: 8px solid #fff;
  aspect-ratio: 304/204;
  box-shadow: -1px 7px 16px 0px rgba(0, 0, 0, 0.15);
}

.workshop_intro_container_main_workshopList_item_name {
  color: #29110b;
  font-family: "Autour One";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 27px */

  margin-bottom: 18px;
}

.workshop_intro_container_main_workshopList_item_desc {
  color: #29110b;
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 25.2px */
}

.workshop_intro_container_details {
  padding: 27px 18px;
  border-radius: 0 0 24px 24px;
  background: #f3ecdf;
  flex: 1;
}

.workshop_placeHoder {
  width: 100%;
  margin-bottom: -4px;
}

.booking_tag {
  width: 180px !important;
}

.bookingContainer_main_step2_left_photo .booking_tag {
  display: block;
  margin: 72px auto 46px;
}

.santa_intro_container_main_desc {
  color: #29110b;
  text-align: center;

  /* EN/Body - Regular */
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  max-width: 700px;
  /* 22.4px */
}

.santa_remark li {
  color: #29110b;

  /* EN/Body Small - Regular */
  font-family: Inter, "Noto Sans TC";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  /* 15.6px */
  margin-bottom: 16px;
}

.peakSpan span:nth-child(2) {
  background-image: unset;
  padding: 0px;
}

.zh-HK.santa .santa_intro_container_main_table tr .firstRow2 {
  vertical-align: baseline;
  align-content: baseline !important;
}

.en .peakSpan span:nth-child(2) {
  min-height: 3rem;
  display: flex;
  align-items: center;
}

:is(.santa_comingsoon, .workshop_comingsoon) .link_to_tnc {
  margin-top: -16px;
  margin-bottom: 36px;
}
.workshop_comingsoon .link_to_tnc {
  margin-bottom: 0px;
}

.workshop_comingsoon .btnWrapper {
  margin-top: 0px !important;
}
:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main_table {
  margin-bottom: 0px;
}
@media (max-width: 960px) {
  .workshop_comingsoon .link_to_tnc {
    margin-top: 36px;
  }

  .santa_intro_container_main_table {
    margin-left: -0px;
  }

  .santa .santa_intro_container_main_table td {
    font-size: 14px;
  }

  .booking_tag {
    width: 160px !important;
  }

  .santa_intro_container_main_desc {
    font-size: 16px;
    /* padding-inline: 5%; */
    text-align: center;
  }

  .santa_intro_container_main_table td:nth-child(2) {
    padding: 0px 10px 10px;
    text-align: center;

    display: table-cell;
    vertical-align: middle;
  }

  .santa_intro_container_main_table td:nth-child(3) {
    padding-inline: 10px;
    text-align: center;
    padding-bottom: 10px;
    align-content: center;
  }

  .santa_intro_container_main_table td:nth-child(3) {
    padding-inline: 10px;
    text-align: center;
    /* align-content: baseline; */
  }

  .santa_intro_container_main_table .middleContent {
    align-content: center !important;
  }

  .santa_intro_container_main_table .endContent {
    align-content: end !important;
  }

  tbody,
  tr {
    overflow: hidden;
    font-size: 14px;
  }

  .santa_intro_container_main_bottom_deco
    .santa_intro_container_main_bottom_deco_tree {
    bottom: -11%;
    left: 0%;
  }

  .santa_intro_container_main_bottom_deco
    .santa_intro_container_main_bottom_deco_tower {
    bottom: -10%;
    right: 0%;
  }

  .title_container {
    margin-bottom: 80px;
  }

  .santa_intro_container_main_desc span {
    margin-top: 32px;
  }

  .santa_intro_container_main_title_ticket {
    width: 100%;
    margin: 90px 0px 36px;
    position: relative;
    min-width: 300px;
    text-align: center;
  }

  .deco_stamp_float {
    display: none;
  }

  .santa_intro_container_main_table {
    min-width: 320px;
    width: 100%;
  }

  .columnHead {
    width: 70px;
    height: unset;
  }

  .peakSpan span:nth-child(1) {
    color: #113121;
    text-align: center;

    /* EN/Body Small - Bold */
    font-family: Inter, "Noto Sans TC";
    font-size: 12px;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 130%;
    /* 15.6px */
    padding: 4px 8px;
    min-height: 40px;
    align-content: center;
  }

  .ticketArrange {
    color: #29110b;
    font-family: Inter, "Noto Sans TC";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;

    text-align: center;
    max-width: 700px;
    margin-bottom: 36px;
    width: 100%;
    padding: 0px;
  }

  .santa_remark {
    max-width: 700px;
    width: 100%;
    padding: 0px 0px 0px;
    margin-bottom: -16px;
  }

  .workshop_intro_container_main_workshopList {
    flex-direction: column;
    gap: 32px;
    align-items: center;
  }

  .workshop_intro_container_main_workshopList_item {
    width: 100%;
  }

  .santa .btnWrapper,
  .workshop .btnWrapper {
    max-width: 420px;
  }

  .en .title_container h3 {
    font-size: 21px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_bottom_deco {
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  .booking_tag {
    width: 130px !important;
  }

  .santa_comingsoon .title_container h3 {
    box-sizing: border-box;
    width: min(504px, calc(100vw - 32px));
    padding-right: 16px;
    padding-left: 16px;
    background-size: 100% 30px;
    font-size: clamp(20px, 8vw, 32px);
  }

  .santa_comingsoon .title_container h3 > img:first-child {
    left: 8px;
    width: 18%;
  }

  .santa_comingsoon .title_container h3 > img:last-child {
    right: 4px;
    width: 24%;
  }

  .title_container h3 {
    font-size: 21px;

    padding: 10px 15px;
    gap: 10px;
    white-space: nowrap;
    right: 0%;
    bottom: -25px;
  }
  .en .title_container h3 span {
    display: block;
    white-space: pre-wrap;
    word-break: normal;
  }
  .workshop.en .title_container h3 {
    white-space: wrap;

    bottom: -18%;
  }

  .en .peakSpan span:nth-child(2) {
    background-image: unset;
    padding: 0px;
    min-height: 4rem;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 540px) {
  .zh-HK .peakSpan span:nth-child(2) {
    background-image: unset;
    padding: 0px;
    min-height: 3rem;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 524px) {
  .zh-HK .peakSpan span:nth-child(2) {
    background-image: unset;
    padding: 0px;
    min-height: 4rem;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 440px) {
  .workshop.en .title_container h3 span {
    display: block;
    max-width: 75%;
  }
  .workshop.en .title_container h3 {
    white-space: wrap;
    transform: translateY(50%) rotate(4deg);

    bottom: -20%;
  }

  .workshop .title_container {
    width: fit-content;
    text-align: center;
    position: relative;
    margin-top: 64px;
    margin-bottom: 90px;
  }

  .en .peakSpan span:nth-child(2) {
    background-image: unset;
    padding: 0px;
    min-height: 6rem;
    display: flex;
    align-items: center;
  }

  .workshop .bookingContainer_main_step1_container,
  .workshop .bookingContainer_main_step2 .divisonLine_green,
  .workshop .bookingItemName img {
    padding: 0px;
  }

  .bookingContainer_main_step2 {
    padding-inline: 0%;
    padding-bottom: 0px;
    max-width: 340px;
    margin-inline: auto;
    /* margin: auto; */
  }
}

/* 2026 Santa coming-soon design */
:is(.santa_comingsoon, .workshop_comingsoon) .santa_container {
  --santa-blue: #1f316f;
  --santa-blue-deep: #171851;
  --santa-blue-bright: #005881;
  --santa-yellow: #f1c683;
  --santa-cream: #fbf0df;
  --santa-taupe: #99897b;
  background-color: #08357d;
  background-image:
    url(../images/2026images/pp-xmas-2026-top-bg.png),
    url(../images/2026images/pp-xmas-2026-bottom-bg.png),
    linear-gradient(180deg, #211b53 0, #1f316f 48%, #005881 100%);
  background-position:
    top center,
    bottom -125px center,
    center;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size:
    100% auto,
    100% auto,
    100% 100%;
}

:is(.santa_comingsoon, .workshop_comingsoon) header {
  background: #142048;
  backdrop-filter: none;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_stars {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: 1440px;
  height: 2970px;
  transform: translateX(-50%) scale(min(1, calc(100vw / 1440px)));
  transform-origin: top center;
  overflow: hidden;
  pointer-events: none;
}

/* Allow Santa's parallax stars to move below the design layer without being clipped. */
.santa_comingsoon .santa_bg_stars {
  overflow: visible;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--star-width);
  height: var(--star-height);
  transform: var(--star-transform);
  transform-origin: 0 0;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star_shine {
  object-fit: fill;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_bg_star_shine:not(:first-child) {
  animation: figmaStarShine 2.8s ease-in-out infinite;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_bg_star_shine:not(:first-child):nth-child(2n) {
  animation-delay: -1.4s;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_bg_star_shine:not(:first-child):nth-child(3n) {
  animation-duration: 3.6s;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star_art {
  overflow: hidden;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star_art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star_art {
  translate: 0 var(--star-parallax-y, 0px);
  will-change: translate;
}

@media (prefers-reduced-motion: reduce) {
  :is(.santa_comingsoon, .workshop_comingsoon) .santa_bg_star_art {
    translate: none;
    will-change: auto;
  }
}

:is(.santa_page, .workshop_page) .santa_container {
  background-size:
    100% auto,
    100% auto,
    100% auto,
    100% 100%;
}

:is(.santa_page, .workshop_page) .santa_bg_stars {
  height: 2489px;
}

:is(.santa_page, .workshop_page) .santa_bg_star_art_bottom:nth-of-type(4) {
  transform: matrix(
    0.048004,
    -0.998847,
    0.998847,
    0.048004,
    1097,
    1835.961
  ) !important;
}

:is(.santa_page, .workshop_page) .santa_bg_star_art_bottom:nth-of-type(5) {
  transform: matrix(
    0.999906,
    0.013733,
    -0.013733,
    0.999906,
    1275.102,
    1789
  ) !important;
}

:is(.santa_page, .workshop_page) .santa_bg_star_art_bottom:nth-of-type(6) {
  transform: matrix(
    0.567422,
    -0.823427,
    0.823427,
    0.567422,
    1166.588,
    1936.858
  ) !important;
}

.workshop_page .santa_bg_stars {
  height: 3121px;
}

.workshop_page .santa_bg_star_art:nth-of-type(3) {
  top: 2229.33px;
  left: 253.79px;
  display: flex;
  width: 260px;
  height: 260px;
  transform: rotate(28.558deg) !important;
  transform-origin: center;
  justify-content: center;
  align-items: center;
}

.workshop_page .santa_bg_star_art_bottom:nth-of-type(4) {
  transform: matrix(
    0.048004,
    -0.998847,
    0.998847,
    0.048004,
    1097,
    2507.961
  ) !important;
}

.workshop_page .santa_bg_star_art_bottom:nth-of-type(5) {
  transform: matrix(
    0.999906,
    0.013733,
    -0.013733,
    0.999906,
    1275.102,
    2461
  ) !important;
}

.workshop_page .santa_bg_star_art_bottom:nth-of-type(6) {
  transform: matrix(
    0.567422,
    -0.823427,
    0.823427,
    0.567422,
    1166.588,
    2608.858
  ) !important;
}

@media (max-width: 1023px) {
  :is(
      .santa.santa_comingsoon,
      .workshop.workshop_comingsoon,
      .santa.santa_page,
      .workshop.workshop_page
    )
    .santa_bg_star_art {
    display: none;
  }
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container,
:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main {
  position: relative;
  z-index: 1;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main {
  padding-top: 80px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .title_container {
  width: min(800px, calc(100vw - 32px));
  aspect-ratio: 800 / 635;
  margin: 56px 0 16px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .title_container .title_img {
  width: 100%;
  max-width: none;
  content: url(../images/2026images/santa-hero-open-book.png);
}

:is(.santa_comingsoon, .workshop_comingsoon) .title_container h3 {
  width: min(504px, calc(100vw - 32px));
  height: 146px;
  padding: 8px 103px 46px;
  bottom: 0;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  color: var(--santa-yellow);
  background: url(../images/2026images/santa-title-shelf.png) center 93px /
    456px 30px no-repeat;
  font-family: "Playfair Display", "Noto Sans TC";
  font-size: 32px;
  font-weight: 600;
  line-height: 120%;
  text-shadow: 0 0 5px rgba(42, 25, 5, 0.65);
  text-transform: uppercase;
  rotate: 0deg;
}

:is(.santa_comingsoon) .title_container h3 > span {
  position: absolute;
  top: 40px;
  right: 0;
  left: 0;
  z-index: 1;
  white-space: nowrap;
}

:is(.workshop_comingsoon) .title_container h3 > span {
  position: absolute;
  top: calc(40px - 1.2em);
  right: 0;
  left: 0;
  z-index: 1;
  white-space: nowrap;
}

:is(.santa_comingsoon, .workshop_comingsoon) .title_container h3 > img {
  position: absolute;
  top: 23px;
  height: 85px;
  object-fit: contain;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .title_container
  h3
  > img:first-child {
  left: 24px;
  width: 63px;
  content: url(../images/2026images/santa-title-books-left.png);
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .title_container
  h3
  > img:last-child {
  right: 12px;
  width: 105px;
  content: url(../images/2026images/santa-title-books-right.png);
}

:is(.santa_comingsoon, .workshop_comingsoon) .deco_stamp,
:is(.santa_comingsoon, .workshop_comingsoon) .deco_stamp_float {
  display: none;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_main_container {
  max-width: 1440px;
  padding-inline: 5%;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main_desc,
:is(.santa_comingsoon, .workshop_comingsoon) .ticketArrange,
:is(.santa_comingsoon, .workshop_comingsoon) .santa_remark li,
:is(.santa_comingsoon, .workshop_comingsoon) .link_to_tnc,
:is(.santa_comingsoon, .workshop_comingsoon) .link_to_tnc a {
  color: #fcfcfc;
  font-family: Inter, "Noto Sans TC";
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main_desc {
  width: 100%;
  max-width: 705px;
  margin: 1em 0;
  line-height: 140%;
  text-align: center;
}

.santa-priority-info-frame {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-top: 16px;
  padding: 24px;
  border-radius: 36px;
  background: #f6dbb1;
  box-sizing: border-box;
  color: #1f316f;
  text-align: center;
  line-height: 1.4;
}

.santa-priority-info-frame > span {
  display: block;
  width: 100%;
  margin: 0 !important;
}

.santa-priority-info-frame .santa-no-wrap {
  white-space: nowrap;
}

.en.santa_comingsoon
  .santa_intro_container_main_desc
  > span:last-child
  .santa-intro-centered-break {
  display: none;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_title_ticket {
  width: min(427px, 100%);
  min-width: 0;
  margin: 84px 0 35px;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  + .santa_intro_container_deco
  + .santa_intro_container_main_title_ticket {
  margin-top: 105px;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_title_ticket
  .deco_iris {
  width: 56px;
  height: 56px;
  content: url(../images/2026images/santa-heading-star.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_title_ticket
  h3 {
  margin: 0;
  padding: 16px 32px;
  color: var(--santa-yellow);
  font-family: "Playfair Display", "Noto Sans TC";
  font-size: 24px;
  font-weight: 600;
  line-height: 150%;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_title_ticket
  .divisonLine_green {
  display: block;
  width: 100%;
  height: 6px;
  content: url(../images/2026images/santa-heading-wave.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main_table {
  width: 850px;
  max-width: calc(100vw - 32px);
  margin: 0;
  border: 0;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
  transform: translateX(-61px);
  color: var(--santa-blue);
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  line-height: 140%;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:first-child {
  height: 124px;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:not(:first-child) {
  height: 114px;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  td {
  color: var(--santa-blue);
  background-color: var(--santa-cream);
  vertical-align: middle;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  .columnHead {
  width: 114px;
  height: auto;
  padding: 0 24px;
  color: var(--santa-cream);
  background-color: var(--santa-taupe);
  border-radius: 24px 0 0 24px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .columnHeadContainer {
  gap: 5px;
  padding: 0;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .columnHeadContainer
  span:last-child {
  color: var(--santa-cream);
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
}

:is(.santa_comingsoon, .workshop_comingsoon) .icon_date_white,
:is(.santa_comingsoon, .workshop_comingsoon) .icon_time_white,
:is(.santa_comingsoon, .workshop_comingsoon) .icon_location_white,
:is(.santa_comingsoon, .workshop_comingsoon) .icon_fee_white {
  width: 24px;
  margin: 0;
  background-size: 24px 24px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .icon_date_white {
  background-image: url(../images/2026images/santa-icon-date.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon) .icon_time_white {
  background-image: url(../images/2026images/santa-icon-time.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon) .icon_location_white {
  background-image: url(../images/2026images/santa-icon-location.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon) .icon_fee_white {
  background-image: url(../images/2026images/santa-icon-fee.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  td:nth-child(2),
:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  td:nth-child(3) {
  padding: 16px 32px;
  text-align: center;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  td:nth-child(2)::after {
  right: -2px;
  width: 4px;
  background: url(../images/2026images/santa-table-divider-row.svg) center /
    100% 100% no-repeat;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(2)::after {
  background-image: url(../images/2026images/santa-table-divider-date.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr
  td:nth-child(2)::before,
:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  td:nth-child(3)::before {
  left: 0;
  bottom: -2px;
  height: 4px;
  background: url(../images/2026images/santa-table-wave-row.svg) center / 100%
    100% no-repeat;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(2)::before,
:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(3)::before {
  background-image: url(../images/2026images/santa-table-wave-date.svg);
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:last-child
  td:nth-child(2)::before,
:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr:last-child
  td:nth-child(3)::before {
  background-image: url(../images/2026images/santa-table-wave-venue.svg);
}

.santa_comingsoon
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(2),
.santa_comingsoon
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(3) {
  background-image: url(../images/2026images/santa-table-wave-date.svg);
  background-position: center top -4px;
  background-repeat: no-repeat;
  background-size: 100% 10px;
}

.santa_comingsoon .santa_intro_container_main_table td:nth-child(2)::after {
  right: -5px;
  width: 10px;
}

.santa_comingsoon .santa_intro_container_main_table tr td:nth-child(2)::before,
.santa_comingsoon .santa_intro_container_main_table td:nth-child(3)::before {
  bottom: -5px;
  height: 10px;
}

.workshop_comingsoon
  .santa_intro_container_main_table
  tr:first-child
  td:nth-child(2) {
  background-image: url(../images/2026images/santa-table-wave-date.svg);
  background-position: center top -4px;
  background-repeat: no-repeat;
  background-size: 100% 10px;
}

.workshop_comingsoon
  .santa_intro_container_main_table
  tr
  td:nth-child(2)::before {
  bottom: -5px;
  height: 10px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .firstRow2 > .underline_cream {
  display: none;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_table
  tr
  .firstRow2 {
  padding: 16px 12px;
  vertical-align: middle;
}

:is(.santa_comingsoon, .workshop_comingsoon) .peakSpan {
  display: flex;
  min-height: 92px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

:is(.santa_comingsoon, .workshop_comingsoon) .peakSpan span,
:is(.santa_comingsoon, .workshop_comingsoon) .peakSpan span:nth-child(2) {
  min-height: 0;
  margin: 0;
  padding: 0;
  background: none;
}

:is(.santa_comingsoon, .workshop_comingsoon) .peakSpan span:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 184px;
  height: 38px;
  min-height: 38px;
  flex: 0 0 38px;
  box-sizing: border-box;
  padding: 8px 24px;
  border: 0;
  background: var(--santa-yellow);
  -webkit-mask: url("../images/2026images/reschedule-booking-tag-mask.svg")
    center / 100% 100% no-repeat;
  mask: url("../images/2026images/reschedule-booking-tag-mask.svg") center /
    100% 100% no-repeat;
  color: var(--santa-blue);
  font-weight: 700 !important;
  line-height: 1.4;
  white-space: nowrap;
}

:is(.santa_comingsoon, .workshop_comingsoon) .ticketArrange {
  width: 100%;
  max-width: 705px;
  margin-bottom: 36px;
  text-align: center;
}

:is(.santa_comingsoon, .workshop_comingsoon) .ticketArrange a,
:is(.santa_comingsoon, .workshop_comingsoon) .link_to_tnc a {
  color: inherit;
  text-underline-position: from-font;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_remark {
  width: 100%;
  max-width: 705px;
  margin-bottom: 20px;
  padding-left: 18px;
  text-align: left;
}

:is(.santa_comingsoon, .workshop_comingsoon) .santa_remark li {
  margin-bottom: 16px;
  line-height: 130%;
}

:is(.santa_comingsoon, .workshop_comingsoon) .link_to_tnc {
  width: 100%;
  max-width: 705px;
  margin: 0 0 36px;
  font-size: 12px;
  line-height: 130%;
  text-align: center;
}

:is(.santa_comingsoon, .workshop_comingsoon) .btnWrapper {
  width: 340px;
  max-width: calc(100vw - 32px);
  height: 48px;
}

.santa.santa_comingsoon .santa_intro_container_main_table + .btnWrapper {
  margin-top: 78px;
}

.santa.santa_comingsoon .link_to_tnc {
  margin: 16px 0 45px;
}

.santa.santa_comingsoon .santa_intro_container_main_bottom_deco {
  margin-top: 0;
}

:is(.santa_comingsoon, .workshop_comingsoon) .comingSoonBtn {
  width: 100%;
  height: 44px;
  margin-top: 4px;
  border: 0;
  border-radius: 100px;
  background: radial-gradient(
    ellipse 35% 180% at 50% 22%,
    #c6bdb5 20%,
    #b0a398 60%,
    #99897b 100%
  );
  box-shadow:
    inset 0 -4px 6px rgba(0, 0, 0, 0.25),
    inset 0 2px 1px rgba(255, 255, 255, 0.25);
  color: #62564c;
  cursor: default;
  font-family: "Playfair Display", "Noto Sans TC";
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}

:is(.santa_comingsoon, .workshop_comingsoon) .comingSoonBtn:hover,
:is(.santa_comingsoon, .workshop_comingsoon) .comingSoonBtn.is-bounce-hover {
  background: radial-gradient(
    ellipse 35% 180% at 50% 22%,
    #c6bdb5 20%,
    #b0a398 60%,
    #99897b 100%
  );
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_bottom_deco {
  width: 100vw;
  aspect-ratio: 2880 / 900;
  height: auto;
  margin-top: 36px;
  background: url(../images/2026images/santa-intro-village.png) center bottom /
    100% auto no-repeat;
}

:is(.santa_comingsoon, .workshop_comingsoon)
  .santa_intro_container_main_bottom_deco
  > div {
  display: none;
}

@media (min-width: 961px) {
  .santa_comingsoon .title_container h3 > span {
    left: 50%;
    right: auto;
    width: 456px;
    transform: translateX(-50%);
  }

  .santa_comingsoon .title_container h3 {
    background-image: none;
  }

  .santa_comingsoon .title_container h3::before {
    content: "";
    position: absolute;
    top: 93px;
    left: 20px;
    width: 498px;
    height: 30px;
    background: url(../images/2026images/santa-title-shelf.png) center / 100%
      100% no-repeat;
    z-index: 0;
  }

  .santa_comingsoon .title_container h3 > img:first-child {
    left: 20px;
  }

  .santa_comingsoon .title_container h3 > img:last-child {
    right: -14px;
  }
}

@media (max-width: 960px) {
  :is(.santa_comingsoon, .workshop_comingsoon) .title_container {
    margin-top: 32px;
    margin-bottom: 24px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_desc {
    text-align: center;
  }

  .santa_comingsoon
    .santa_intro_container_main_desc
    .santa-intro-centered-break {
    display: none;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_title_ticket,
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    + .santa_intro_container_deco
    + .santa_intro_container_main_title_ticket {
    margin-top: 72px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table {
    width: 100%;
    min-width: 0;
    max-width: 850px;
    transform: none;
    font-size: 14px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    .columnHead {
    width: 84px;
    padding-inline: 10px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    td:nth-child(2),
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    td:nth-child(3),
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    tr
    .firstRow2 {
    padding: 14px 10px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .ticketArrange {
    text-align: center;
  }
}

@media (max-width: 640px) {
  :is(.santa_comingsoon, .workshop_comingsoon)
    .ticket-arrangement-desktop-break {
    display: none;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main {
    padding-top: 64px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .title_container {
    aspect-ratio: 800 / 680;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .title_container h3 {
    height: 110px;
    padding: 8px 56px 35px;
    background-position: center 70px;
    background-size: calc(100% - 48px) auto;
    font-size: clamp(16px, 5vw, 24px);
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .title_container h3 > img {
    top: 18px;
    height: 64px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .title_container
    h3
    > img:first-child {
    left: 24px;
    width: 47px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .title_container
    h3
    > img:last-child {
    right: 24px;
    width: 68px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_main_container {
    padding-inline: 16px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_title_ticket
    h3 {
    padding-inline: 16px;
    font-size: 21px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table {
    font-size: 12px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    .columnHead {
    width: 64px;
    padding-inline: 4px;
    border-radius: 16px 0 0 16px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .columnHeadContainer
    span:last-child {
    font-size: 12px;
    line-height: 130%;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .peakSpan span:first-child {
    min-height: 32px;
    padding: 6px 8px;
    border-width: 3px;
    font-size: 12px;
    line-height: 14px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    td:nth-child(2),
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    td:nth-child(3),
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_table
    tr
    .firstRow2 {
    padding: 12px 5px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa_intro_container_main_bottom_deco {
    min-height: 0;
    background-size: 100% auto;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_bottom_deco {
    width: calc(100% + 32px);
    margin-inline: -16px;
    margin-top: 36px;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_bg_star_art {
    display: none;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .title_container
    h3 {
    font-size: clamp(20px, 5.8vw, 24px);
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .title_container
    h3
    > span {
    top: 24px;
  }

  .santa.santa_comingsoon
    .santa_intro_container_main_table
    .peakSpan
    span:first-child {
    width: 100%;
    max-width: 184px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    box-sizing: border-box;
    padding: 6px 3px;
    font-size: clamp(10px, 3.2vw, 12px);
    line-height: 1.2;
    white-space: nowrap;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }

  .santa.santa_comingsoon
    .santa_intro_container_main_table
    tr:first-child
    td.firstRow2 {
    align-content: start !important;
    vertical-align: top;
  }

  .santa.santa_comingsoon
    .santa_intro_container_main_table
    tr:first-child
    .peakSpan {
    justify-content: flex-start;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table,
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    tbody,
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    tr {
    overflow: visible;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    tr:first-child
    td:nth-child(2),
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    tr:first-child
    td:nth-child(3) {
    background-position: center top;
    background-size: 100% 6px;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    tr
    td:nth-child(2)::before,
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_intro_container_main_table
    td:nth-child(3)::before {
    bottom: -3px;
    height: 6px;
  }
}

/* Shrink the book groups together on narrow screens to keep the title clear. */
@media (max-width: 390px) {
  :is(.santa_comingsoon, .workshop_comingsoon) .title_container h3 > img {
    top: auto;
    bottom: 28px;
    height: auto;
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .title_container
    h3
    > img:first-child {
    width: clamp(24px, calc(32.3vw - 79px), 47px);
  }

  :is(.santa_comingsoon, .workshop_comingsoon)
    .title_container
    h3
    > img:last-child {
    width: clamp(35px, calc(46.6vw - 114px), 68px);
  }
}

@media (max-width: 400px) {
  .santa.santa_comingsoon .title_container {
    width: 87vw;
    aspect-ratio: 800 / 720;
    margin-top: 24px;
  }
}

@media (max-width: 400px) {
  .workshop.workshop_comingsoon .title_container {
    aspect-ratio: 800 / 750;
  }
}

@media (max-width: 340px) {
  .santa.santa_comingsoon .title_container h3 {
    bottom: -7px;
  }
}

@media (max-width: 340px) {
  .workshop.workshop_comingsoon .title_container {
    aspect-ratio: 800 / 800;
  }
}

@media (max-width: 767px) {
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon) .santa_container {
    background-image:
      url(../images/2026images/pp-xmas-2026-bottom-bg.png),
      linear-gradient(180deg, #211b53 0, #1f316f 48%, #005881 100%);
    background-position:
      bottom center,
      center;
    background-size:
      100% auto,
      100% 100%;
  }

  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .santa_container::before {
    content: "";
    position: absolute;
    top: 80px;
    left: calc(50% - 449px);
    z-index: 0;
    width: 898px;
    aspect-ratio: 4096 / 2304;
    background: url(../images/2026images/pp-xmas-2026-bg.png) left top / 100%
      auto no-repeat;
    clip-path: inset(0 0 calc(100% - 260px) 0);
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.santa_comingsoon, .workshop_comingsoon) .deco_stamp,
  :is(.santa_comingsoon, .workshop_comingsoon) .deco_stamp_float {
    animation: none;
  }
}

.workshop.workshop_comingsoon {
  padding-top: 0;
  background-image: none;
}

.workshop_comingsoon .title_container .title_img {
  content: none;
}

.workshop.workshop_comingsoon .title_container,
.workshop.workshop_comingsoon.en .title_container {
  width: min(800px, calc(100vw - 32px));
  margin: 56px 0 16px;
}

.workshop.workshop_comingsoon .title_container h3,
.workshop.workshop_comingsoon.en .title_container h3 {
  white-space: nowrap;
  bottom: 0;
  transform: translateX(-50%);
}

.workshop.workshop_comingsoon.en .title_container h3 span {
  max-width: none;
}

.workshop_comingsoon .santa_intro_container_main_table {
  width: min(632px, calc(100vw - 32px));
  transform: none;
}

.workshop_comingsoon .santa_intro_container_main_table td:nth-child(2)::after,
.workshop_comingsoon
  .santa_intro_container_main_table
  td.workshop_firstRow::after {
  content: none;
}

.workshop_comingsoon .workshop_intro_container_main_workshopList {
  width: min(1100px, 100%);
  margin-bottom: 56px;
}

.workshop.workshop_comingsoon .remark_select_workshop {
  display: none;
}

.workshop.workshop_comingsoon .workshop_intro_container_main_workshopList {
  width: min(1200px, 100%);
  gap: 0;
  margin-top: 36px;
  margin-bottom: 56px;
}

.workshop.workshop_comingsoon .workshop_intro_container_main_workshopList_item {
  width: calc(100% / 3);
  min-width: 0;
  max-width: none;
  height: 538px;
  padding: 26px 21px;
  border: 0;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item:hover {
  scale: none;
  animation: kf_14378_327672_translate_0 1.250123s linear forwards;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.workshop_sold_out {
  cursor: default;
  filter: drop-shadow(0 26px 8px rgba(0, 0, 0, 0.25));
  pointer-events: none;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.workshop_sold_out:hover {
  animation: none;
  translate: 0 0;
}

.workshop.workshop_comingsoon .workshop_sold_out .workshop_placeHoder {
  background: #c6bdb5;
  box-shadow: none;
  object-fit: none;
}

.workshop.workshop_comingsoon
  .workshop_sold_out
  .workshop_intro_container_details {
  box-shadow: none;
}

.workshop.workshop_comingsoon
  .workshop_sold_out
  .workshop_intro_container_main_workshopList_item_name,
.workshop.workshop_comingsoon
  .workshop_sold_out
  .workshop_intro_container_main_workshopList_item_desc {
  color: #c6bdb5;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.active {
  filter: drop-shadow(0 26px 8px rgba(0, 0, 0, 0.25));
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.active::after {
  content: none;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.active
  .workshop_placeHoder,
.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.active
  .workshop_intro_container_details {
  box-shadow: none;
}

.workshop.workshop_comingsoon .workshop_bookmark {
  display: none;
  position: absolute;
  z-index: 1;
  top: 15px;
  left: 273px;
  width: 96px;
  height: 136px;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item.active
  .workshop_bookmark {
  display: block;
}

.workshop.workshop_comingsoon .workshop_bookmark img {
  position: absolute;
  display: block;
  width: 96px;
  height: 136px;
}

@keyframes kf_14378_327672_translate_0 {
  0% {
    animation-timing-function: linear(
      0,
      0.0216,
      0.0747,
      0.1458,
      0.2255,
      0.3076,
      0.3879,
      0.4638,
      0.5339,
      0.5974,
      0.6542,
      0.7044,
      0.7484,
      0.7866,
      0.8196,
      0.8479,
      0.8722,
      0.8928,
      0.9103,
      0.9251,
      0.9375,
      0.948,
      0.9568,
      0.9642,
      0.9703,
      0.9754,
      0.9797,
      0.9832,
      0.9862,
      0.9886,
      0.9906,
      0.9923,
      0.9936,
      0.9948,
      0.9957,
      0.9965,
      0.9971,
      0.9976,
      0.9981,
      0.9984,
      0.9987,
      0.9989,
      0.9991,
      0.9993,
      0.9994,
      0.9995,
      0.9996,
      0.9997,
      0.9997,
      0.9998,
      0.9998
    );
    translate: 0 0;
  }

  100% {
    translate: 0 -26px;
  }
}

.workshop.workshop_comingsoon .workshop_placeHoder {
  height: 226px;
  margin: 0;
  border-radius: 12px 12px 0 0;
  object-fit: cover;
  box-shadow: 0 11px 8px rgba(0, 0, 0, 0.25);
}

.workshop.workshop_comingsoon .workshop_intro_container_details {
  min-height: 260px;
  padding: 27px 18px;
  border-radius: 0 0 12px 12px;
  background: #fbf0df;
  box-shadow: 0 11px 8px rgba(0, 0, 0, 0.25);
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item_name {
  margin-bottom: 18px;
  color: #1f316f;
  font-family: "Playfair Display", "Noto Sans TC";
  font-size: 20px;
  font-weight: 700;
  line-height: 140%;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList_item_desc {
  color: #180a1e;
  font-family: Inter, "Noto Sans TC";
  font-size: 16px;
  line-height: 140%;
}

@media (max-width: 960px) {
  .workshop.workshop_comingsoon .workshop_intro_container_main_workshopList {
    flex-wrap: wrap;
    justify-content: center;
  }

  .workshop.workshop_comingsoon
    .workshop_intro_container_main_workshopList_item {
    width: min(400px, 50%);
  }
}

@media (max-width: 640px) {
  .workshop.workshop_comingsoon .workshop_intro_container_main_workshopList {
    align-self: center;
    width: min(358px, 100%);
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 36px;
  }

  .workshop.workshop_comingsoon
    .workshop_intro_container_main_workshopList_item {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 486px;
    flex: 0 0 486px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    filter: drop-shadow(0 11px 8px rgba(0, 0, 0, 0.25));
  }

  .workshop.workshop_comingsoon
    .workshop_intro_container_main_workshopList_item.active {
    filter: drop-shadow(0 11px 8px rgba(0, 0, 0, 0.25));
  }

  .workshop.workshop_comingsoon .workshop_placeHoder {
    width: 100%;
    height: 226px;
    flex: 0 0 226px;
    margin: 0;
    border-radius: 12px 12px 0 0;
    object-fit: cover;
    box-shadow: none;
  }

  .workshop.workshop_comingsoon .workshop_intro_container_details {
    height: 260px;
    min-height: 260px;
    flex: 0 0 260px;
    padding: 27px 18px;
    border-radius: 0 0 12px 12px;
    background: #fbf0df;
    box-shadow: none;
  }

  .workshop.workshop_comingsoon .workshop_bookmark {
    top: -10px;
    right: 11px;
    left: auto;
  }

  .workshop.workshop_comingsoon
    .workshop_intro_container_main_workshopList_item:hover {
    scale: none;
    animation: none;
  }
}

@media (max-width: 960px) {
  .workshop.workshop_comingsoon .title_container,
  .workshop.workshop_comingsoon.en .title_container {
    margin-top: 32px;
    margin-bottom: 24px;
  }
}

@media (max-width: 640px) {
  .workshop.workshop_comingsoon .title_container h3,
  .workshop.workshop_comingsoon.en .title_container h3 {
    white-space: nowrap;
    transform: translateX(-50%);
  }
}

@media (max-width: 440px) {
  .workshop.workshop_comingsoon .title_container,
  .workshop.workshop_comingsoon.en .title_container {
    width: min(800px, calc(100vw - 32px));
    margin-top: 32px;
    margin-bottom: 24px;
  }

  .workshop.workshop_comingsoon.en .title_container h3 {
    white-space: nowrap;
    bottom: 0;
    transform: translateX(-50%);
  }
}

.santa.santa_comingsoon .bookBtn {
  width: 100%;
  height: 44px;
  margin-top: 4px;
  color: #1f316f;
}

.santa.santa_comingsoon .bookBtn:hover,
.santa.santa_comingsoon .bookBtn.is-bounce-hover {
  filter: none;
  transform: none;
}

.santa.santa_comingsoon .comingSoonBtn,
.santa.santa_comingsoon .comingSoonBtn:hover {
  background: radial-gradient(
    ellipse 35% 180% at 50% 22%,
    #c6bdb5 20%,
    #b0a398 60%,
    #99897b 100%
  );
  color: #62564c;
}

.workshop.workshop_comingsoon
  .workshop_intro_container_main_workshopList
  + .btnWrapper {
  margin-top: 78px;
}

.workshop.workshop_comingsoon .bookBtns {
  width: 100%;
  height: 44px;
  margin-top: 4px;
  color: #1f316f;
}

.workshop.workshop_comingsoon .bookBtns:hover,
.workshop.workshop_comingsoon .bookBtns.is-bounce-hover {
  filter: none;
  transform: none;
}

.workshop.workshop_comingsoon .link_to_tnc {
  margin: 16px 0 45px;
}

.workshop.workshop_comingsoon .santa_intro_container_main_bottom_deco {
  margin-top: 0;
}

@media (max-width: 640px) {
  .workshop.workshop_comingsoon .santa_intro_container_main_bottom_deco {
    margin-top: 36px;
  }
}

.workshop.workshop_comingsoon .title_container h3 > span {
  top: auto;
  bottom: 68px;
}

@media (max-width: 640px) {
  :is(.santa.santa_comingsoon, .workshop.workshop_comingsoon)
    .title_container
    h3
    > span {
    top: auto;
    bottom: 52px;
  }

  .santa.santa_comingsoon .title_container h3 > span {
    transform: translateX(-10.5px);
  }
}

@media (max-width: 640px) {
  :is(.santa_comingsoon, .workshop_comingsoon) .santa-priority-info-frame {
    padding: 16px;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .santa_remark {
    margin-left: 0;
    padding-left: 12px;
    padding-right: 0;
  }

  :is(.santa_comingsoon, .workshop_comingsoon) .santa_intro_container_main_desc,
  :is(.santa_comingsoon, .workshop_comingsoon) .ticketArrange,
  :is(.santa_comingsoon, .workshop_comingsoon) .santa_remark li,
  :is(.santa_comingsoon, .workshop_comingsoon)
    .santa-priority-info-frame
    > span {
    overflow-wrap: anywhere;
  }

  :is(.santa, .workshop)
    .santa_intro_container_main_main_container
    > .btnWrapper {
    width: 100%;
    max-width: none;
  }

  .workshop.workshop_comingsoon .workshop_intro_container_main_workshopList {
    width: 100%;
    align-self: stretch;
  }

  .workshop.workshop_comingsoon .workshop_intro_container_details {
    padding-inline: 16px;
  }
}

:is(body.santa.santa_comingsoon, body.workshop.workshop_comingsoon)
  .santa_intro_container_main_table td:not(.columnHead),
:is(body.santa.santa_comingsoon, body.workshop.workshop_comingsoon)
  .santa_intro_container_main_table td:not(.columnHead) * {
  color: #1F316F;
}

